Chapters 1, 2 & 3 — complete notes with definitions, analogies, memory tricks, diagrams, flashcards and a quiz to help you ace the exam.
The mental toolkit of every computer scientist. This chapter is on EVERY paper.
Computational thinking is a method of studying a problem and formulating a solution that can be implemented using a computer. It has four pillars — you MUST be able to define all four.
A-D-P-A — Abstraction, Decomposition, Pattern Recognition, Algorithmic Thinking. Remember: "A Dog Plays Around"
Reducing complexity by hiding unnecessary detail and focusing only on the relevant features of a problem.
A London Tube map is an abstraction — it shows stations and lines but ignores actual geography, distances, and tunnels. It has only what you need!
Example: Modelling traffic — ignore car colour and driver age, focus on number of cars and speed.
Breaking down a large complex problem into smaller, more manageable sub-problems that can each be solved separately.
Building a house is decomposed into: foundations, walls, roof, plumbing, electricity, painting. Each team tackles their part!
Example: Building a website → header, navigation, content area, footer — each done separately.
Identifying similarities, trends, or repetitions among problems or within data to help solve more complex problems.
Like recognising that every morning you do: wake up → shower → eat → leave. Once you spot the pattern, you can automate or optimise it!
Example: Noticing that two different problems both need a sorted list — reuse the same sorting solution.
A way of getting to a solution through clear, ordered, step-by-step instructions that can be implemented by a computer.
A recipe is an algorithm — it lists exact steps in order to produce a specific result. Skip a step and the dish fails!
Example: A login algorithm: 1. Get username & password. 2. Check database. 3. If match → grant access. 4. Else → show error.
These four definitions appear on almost every exam. Learn the definitions word-for-word and have a real-world example ready for each one.
An algorithm is a finite, ordered set of clear instructions that solves a specific problem. It must have an input, a process, and an output.
| Characteristic | What it means | Example |
|---|---|---|
| Finite | Must eventually stop — no infinite loops | A recipe has a final step |
| Well-defined | Clear inputs and outputs | "Sort a list of numbers" — input = list, output = sorted list |
| Unambiguous | No step should be open to interpretation | "Add a pinch of salt" is bad; "Add 2g of salt" is better |
| Effective | Each step can actually be carried out | No impossible or undefined steps |
| Language-independent | Can be written in any programming language | Bubble sort works in Python, Java, C… |
Standard flowchart symbols — appear in almost every exam!
A heuristic is a "rule of thumb" — a practical approach that finds a good-enough solution quickly when finding the perfect solution would take too long.
When you're late and can't find the perfect route, you just take the road you usually use — that's a heuristic! "Good enough, fast enough."
Examples: spam filters (score suspicious words), navigation apps (choose a fast enough route without testing every possible road), anti-virus software (flag files that look suspicious).
DEB 2023 asked directly: "What is a heuristic?" Know the definition and one example.
A trace table records the value of each variable after every line of code executes. Used to manually check what a program does.
A trace table is like a detective's evidence log — you write down what each clue (variable) reveals at each moment in time, step by step.
| Line | i | total | Output |
|---|---|---|---|
| 1 | — | 0 | — |
| 2 (i=1) | 1 | 1 | — |
| 2 (i=2) | 2 | 3 | — |
| 2 (i=3) | 3 | 6 | — |
| 3 | — | — | 6 |
Trace tables appear on every exam. Practice going slowly — one cell at a time. The 2022 paper had an ISBN check digit; DEB 2023 had a while-loop. Never rush!
Big O notation measures the relationship between the size of the input (N) and the number of steps an algorithm takes. It is about amount of work, NOT speed.
Big O is like asking "how much messier does my room get if I buy more stuff?" — O(1) means it never gets worse, O(n²) means it gets much, much worse very quickly!
Best to worst: O(1) → O(log n) → O(n) → O(n²)
Think: "Constant is King, Quadratic is Quit using it!"
Know which Big O applies to: Linear Search = O(n), Binary Search = O(log n), Bubble/Selection/Insertion Sort = O(n²).
Linear Search — go through each item in the list one by one, comparing it to the target. Return the index if found, -1 if not found.
Like looking for your keys by checking every pocket one at a time — tedious but always works!
| Pros | Cons |
|---|---|
| ✅ List does NOT need to be sorted | ❌ Slow — O(n) time complexity |
| ✅ Simple to code | ❌ Gets very slow for large lists |
Binary Search — requires a SORTED list. Look at the middle element: if target is smaller, search left half; if larger, search right half. Keep halving until found.
Like finding a name in a phone book — open the middle, decide which half to look in, then repeat. Much faster than reading every page!
| Pros | Cons |
|---|---|
| ✅ Very fast — O(log n) | ❌ Data MUST be sorted first |
| ✅ Efficient for large datasets | ❌ Sorting adds its own time cost |
Binary = Bisect = Better! Always halves the problem. Must be Sorted — think "Sorted = Super fast Binary"
All three sorting algorithms you need to know have O(n²) time complexity — they use two nested loops. Click the buttons below to see each sort in action!
Ready — press a sort button!
Bubble Sort — compare adjacent pairs; if in wrong order, swap them. After each full pass, the largest value "bubbles up" to the end. Repeat until no swaps needed.
Like bubbles rising in water — the biggest bubble (largest number) always floats to the top first, then the next biggest, and so on.
🫧 Big bubbles rise first! Think of it as: "the big numbers bubble up to the top after each pass."
Selection Sort — find the smallest value in the unsorted part of the list and place it at the start. Repeat for the remaining unsorted section.
Like choosing cards from a hand — always grab the smallest card first and put it down in order. Then grab the next smallest, etc.
🎯 "Selection = Smallest first" — always selecting the minimum to slot in next.
Insertion Sort — treat the list as a sorted and unsorted part. Take the next unsorted element and insert it into its correct position in the sorted part by comparing backwards.
Like sorting playing cards in your hand — you pick up a new card and slide it into the right position among the cards you're already holding.
📌 "Insertion = Insert into the right place" — like inserting a card into a sorted hand.
You will be asked to trace a sort step by step, show each pass, or compare sorts. Remember: all three are O(n²) — inefficient for large datasets. Binary sort (O(n log n)) exists but isn't in the LC syllabus as a sort to trace.
These puzzle types have appeared on past papers. Apply decomposition + pattern recognition + algorithmic thinking to solve them.
A Caesar Cipher shifts every letter in the alphabet by a fixed number n (the key). To decode: shift each letter backwards by n, wrapping around using modulo.
Decode formula: Decoded = (letter_position − n) mod 26
Imagine the alphabet as a circle (A after Z). Shift right to encode, shift left to decode. If you shift A back 3, you go Z, Y, X — modulo handles the wrap-around.
🔐 Caesar said "Shift it!" — encode = shift forward n, decode = shift back n. Modulo = handles the wrap-around at Z→A.
The Pigpen cipher uses a key diagram made of grid segments and X-grid segments. Each letter is represented by the shape of the segment it sits in.
To decode: look at the shape of each symbol and find the matching segment in the key grid. No numbers, no maths — pure pattern recognition!
🐷 Pigpen = Pattern recognition — the shape of the cage tells you the letter!
The Manhattan Tourist Problem asks: moving only south or east through a grid, what is the path that maximises the number of attractions visited?
Method (Dynamic Programming): Fill in a grid from top-left to bottom-right. Each cell = max(value from above + attraction weight, value from left + attraction weight).
🗺️ You can only go South or East — never back! Work top-left to bottom-right, always picking the greediest path.
SDLC, methodologies (Waterfall vs Agile), testing types, UCD, and accessibility.
Software is the set of instructions or programs that tell a computer what to do. It is independent of hardware and makes computers programmable.
| Type | What it does | Examples |
|---|---|---|
| System Software | Manages hardware and core functions | Windows, macOS, Linux (Operating Systems) |
| Programming Software | Tools for developers to write code | VS Code, compilers, debuggers, linkers |
| Application Software | Helps users perform specific tasks | Word, Chrome, Spotify, Instagram, games |
S-P-A = System → Programming → Application. Think: "Servers, Programmers, Apps"
The SDLC is a structured, repeatable process for designing, developing, and maintaining software. It ensures quality and reduces costly mistakes.
Building a house has stages: plan → design → build → inspect → move in → maintain. You wouldn't start building walls before the architect draws the plans! Software is the same.
The Software Development Life Cycle (SDLC)
2023 paper asked you to name 2 reasons the SDLC is important. Answer: (1) Structured process reduces costly mistakes. (2) Clarifies roles, milestones and deadlines.
A-P-D-D-T-M = Analysis, Planning, Design, Develop, Testing, Maintenance. "Amazing Programmers Design Dope, Tested Masterpieces"
Two approaches to how you ORGANISE the SDLC stages. This comparison is asked on almost every paper!
Sequential — each stage must be fully complete before the next starts. Like a waterfall, the flow only goes downward.
Best for: well-understood, fixed requirements (banking systems, defence, building control systems).
Iterative — work in short cycles called sprints (1–4 weeks). Get user feedback after each sprint and adjust. All SDLC phases happen repeatedly.
Best for: modern web/app development with evolving requirements. Frameworks: Scrum, Kanban, XP (Extreme Programming).
🌊 Waterfall = one direction, no going back. 🔄 Agile = spin around, keep improving. DEB 2024 asked you to compare them and recommend one — always pick Agile for modern software with changing requirements!
DEB 2024: "Compare Waterfall and Agile and recommend one for developing a new school app." Answer: Agile — school requirements may change; user testing improves the product; faster delivery of working features.
Testing shows a program does what it's supposed to do and finds bugs before release.
| Test Type | What it tests | Who does it |
|---|---|---|
| Unit Testing | Smallest unit of code (one function/method) in isolation | Developer |
| System Testing | The whole integrated system working together | Testing team |
| Functional Testing | "Does it do what it's supposed to?" — tests against requirements | QA team |
| Alpha Testing | Internal testing before public release — developer/in-house team | Internal team |
| Beta Testing | Real users testing in a real environment before full launch | External users |
| Black Box Testing | White Box Testing |
|---|---|
| Tester does NOT see the code | Tester CAN see the internal code |
| Only tests inputs and outputs | Tests specific code paths and branches |
| Tests against requirements | Tests implementation quality |
| Done by independent testers | Done by developers |
| 📦 You see the box from outside only | 🔍 You see what's inside the box |
Black box: testing a vending machine — you put money in and press buttons, you don't care HOW it works inside, just that you get the right snack. White box: testing the internal circuits of the vending machine — you check every wire and mechanism.
⬛ Black = can't see code (blind). ⬜ White = can see everything (transparent).
Functional testing: "Does it DO what it's meant to?" — tests specific features against requirements (e.g. does login work? Does it calculate the total correctly?).
Non-functional testing: "HOW WELL does it do it?" — tests performance, usability, security, reliability, scalability.
Functional: Does the car start? Does it brake? Non-functional: How fast does it accelerate? How comfortable is it? How safe is it in a crash?
| Error Type | What is it? | Example | When found? |
|---|---|---|---|
| Syntax Error | Code violates the grammar of the language | Missing colon in Python, wrong bracket | Before running (compile time) |
| Runtime Error | Code runs but crashes during execution | Divide by zero, index out of range | While running |
| Logic Error | Code runs and finishes but produces wrong result | Wrong formula, wrong condition in if statement | During testing |
S-R-L = Syntax crashes before run, Runtime crashes during run, Logic is secretly wrong. "Stupid Rules Love breaking code!"
A test case specifies: an input, the expected output, and what is being tested. Good test cases include: normal/typical values, boundary/edge values, and invalid/extreme values.
| Test Case Type | Description | Example (sorting a list) |
|---|---|---|
| Normal | A typical valid input | [5, 2, 8, 1, 3] |
| Boundary/Edge | At the extreme limits | Empty list [], single element [5] |
| Already sorted | Best case for some algorithms | [1, 2, 3, 4, 5] |
| Reverse sorted | Worst case for most sorts | [5, 4, 3, 2, 1] |
| Duplicates | Tests handling of identical values | [3, 3, 1, 3, 2] |
2022 paper asked for test cases for insertion sort. Always mention: empty list, single element, already sorted, reverse sorted, duplicates!
User-Centred Design (UCD) is a design philosophy where the needs, abilities, and limitations of end-users are the primary focus at every stage of development.
A good restaurant designs its menu for the customer — large text, clear descriptions, pictures — not for what's easiest for the chef to write!
2024 paper asked you to apply 2 principles to a fast-food kiosk. Know all 7!
| # | Principle | What it means |
|---|---|---|
| 1 | Equitable Use | Useful to people with different abilities (e.g. ramps for wheelchair users) |
| 2 | Flexibility in Use | Accommodates different preferences (e.g. left/right-handed scissors) |
| 3 | Simple & Intuitive | Easy to understand regardless of experience (e.g. clear icons) |
| 4 | Perceptible Information | Communicates necessary info effectively (e.g. audio + visual cues) |
| 5 | Tolerance for Error | Minimises hazards and errors (e.g. undo button, confirmation dialogs) |
| 6 | Low Physical Effort | Can be used comfortably with minimal fatigue (e.g. door handles not knobs) |
| 7 | Size & Space | Appropriate space for all users regardless of body size (e.g. wide ATM screens) |
E-F-S-P-T-L-S = "Every Fish Swims Past The Lake Shore" → Equitable, Flexible, Simple, Perceptible, Tolerance, Low effort, Size
| UI Type | Description | Example |
|---|---|---|
| GUI | Windows, icons, menus, pointer | Windows, macOS desktop |
| CLI | Command line — type text commands | Terminal, Command Prompt |
| Menu-driven | Navigate through options menus | ATM, kiosks, DVD menus |
| Voice/NLU | Speak to interact | Siri, Alexa, Google Assistant |
| Touch/Gesture | Swipe, tap, pinch | Smartphones, tablets |
For users with disabilities, these technologies make software accessible:
| Role | What they do |
|---|---|
| Business Analyst | Gathers requirements from stakeholders; bridges business & development teams; writes user stories |
| Software Developer | Writes the code for the application |
| UX/UI Designer | Designs how the interface looks and feels; focuses on user experience |
| QA Tester | Tests the software to find and report bugs |
| Project Manager | Oversees timeline, budget, and team coordination |
| DevOps Engineer | Manages deployment, automation, and infrastructure |
2023 paper asked you to describe the role of a Business Analyst. Know: gathering & documenting requirements, writing user stories, mediating between business and developers, validating features.
| Web Application | Mobile Application |
|---|---|
| Works on any device with a browser | Installed on the device |
| Easier and cheaper to update | Can use device features (camera, GPS, push notifications) |
| No app-store submission needed | Can work offline |
| Depends on internet connection | Often faster and smoother experience |
Von Neumann, CPU, memory, logic gates, binary, ASCII & Unicode. High-frequency exam topics!
Von Neumann Architecture is the shared blueprint for nearly all modern computers, described by John von Neumann in 1945. It has four key components: CPU, Memory, Input/Output, and a Bus.
All houses look different on the outside but share the same rooms: bedroom, kitchen, bathroom. Similarly, all computers look different but share the same core architecture!
Von Neumann Architecture — the universal blueprint of all computers
C-M-I-B = CPU, Memory, I/O, Bus — "Computers Must Input Bytes"
The Control Unit directs the operations of the CPU. It fetches, decodes, and coordinates instructions. It does NOT do calculations itself.
The CU is the manager of the CPU — gives orders but doesn't do the actual work. It's the boss!
The ALU performs all arithmetic operations (+, -, *, /) and all logical comparisons (AND, OR, NOT, >, <, ==).
The ALU is the calculator and decision-maker of the CPU. It does maths and makes yes/no decisions.
Registers are tiny, ultra-fast storage locations inside the CPU. They store data currently being processed.
A register is like a sticky note right in front of you — tiny but instantly accessible. RAM is like a filing cabinet in the next room.
| Register | Full Name | What it stores |
|---|---|---|
| PC | Program Counter | Address of the next instruction to fetch |
| CIR | Current Instruction Register | The instruction currently being decoded/executed |
| AC | Accumulator | The result of the last ALU operation |
| MAR | Memory Address Register | The memory address being accessed |
| MDR | Memory Data Register | Data being transferred to/from memory |
"People Can Always Make Clever Inventions"
→ PC, CIR, AC, MAR, MDR (MDR = More Data Remembered)
The clock generates electrical pulses. Each pulse = one fetch-execute cycle. Measured in GHz (gigahertz — billion cycles per second).
The clock is like a metronome — the faster it beats, the more notes (instructions) can be played per second.
2023 paper asked for two factors that affect CPU performance. Common answers: clock speed + number of cores. Or clock speed + cache size.
The Fetch–Decode–Execute Cycle — the heartbeat of every computer
2023 paper asked you to label a FDE cycle diagram. Know: FETCH = CU gets instruction from memory using PC → MAR. DECODE = CU interprets CIR. EXECUTE = ALU performs operation, result in Accumulator.
Memory comes in different types — faster memory is smaller and more expensive. This is the memory hierarchy:
Fastest → Slowest: R-C-R-S = Registers, Cache, RAM, Secondary. "Really Clever Rabbits Sprint" 🐇
| Feature | RAM | ROM |
|---|---|---|
| Full name | Random Access Memory | Read Only Memory |
| Volatile? | ✅ Yes (lost when power off) | ❌ No (keeps data forever) |
| Can write to it? | ✅ Yes (constantly) | ❌ No (read only) |
| Written by? | Programs you run | The manufacturer |
| Used for? | Currently running programs | BIOS/firmware (startup) |
RAM = your desk. You work on it during the day, but when you go home (power off), it's cleared. ROM = a printed instruction manual — always there, can't be rewritten.
RAM = Temporarily Accessible, ROM = Permanently Written
RAM = "Really Always Missing" when power off. ROM = "Remains On Machine" forever.
Cache memory is a small, very fast memory built into or near the CPU. It stores copies of frequently used data and instructions from RAM so the CPU can access them without waiting for slower main memory.
The cache is like keeping your most used books on your desk instead of in the library — you can grab them instantly without walking anywhere!
| Feature | HDD (Hard Disk Drive) | SSD (Solid State Drive) |
|---|---|---|
| How it works | Spinning magnetic disks & read/write head | Flash memory chips (no moving parts) |
| Speed | Slower | Much faster |
| Durability | Fragile (moving parts) | More durable |
| Cost per GB | Cheaper | More expensive |
| Noise | Makes noise (spinning) | Silent |
| Unit | Size | Memory trick |
|---|---|---|
| Bit | 1 binary digit (0 or 1) | Smallest unit |
| Nibble | 4 bits | Half a byte = "nibble" of a byte! |
| Byte | 8 bits | 1 character in ASCII |
| Kilobyte (KB) | 1,024 bytes | A short text file |
| Megabyte (MB) | 1,024 KB = 1,048,576 bytes | A photo |
| Gigabyte (GB) | 1,024 MB | A movie |
| Megabit (Mb) | 1,048,576 bits | Used in internet speeds (Mbps) |
DEB 2024 asked: "How many bits in a nibble? In a megabyte? In a megabit?" Nibble = 4 bits. Megabyte = 8,388,608 bits. Megabit = 1,048,576 bits. Note: megabit (lowercase b) ≠ megabyte (uppercase B)!
Computers use binary (base 2) because transistors have two states: on (1) and off (0). Binary maps perfectly to physical electrical signals.
Place values for an 8-bit binary number:
| 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Example: 149 = 128+16+4+1 = 10010101
Multiply each bit by its place value and add up all the 1s. Example: 10010101 = 128+16+4+1 = 149
Hexadecimal is a base-16 number system using digits 0–9 and letters A–F (A=10, B=11, C=12, D=13, E=14, F=15). It's used as shorthand for binary because every byte = exactly 2 hex digits.
Hexadecimal is like a shorthand for binary. Writing FF is much easier than 11111111. This is why colour codes (#FF5733), memory addresses, and other computer data use hex!
| Decimal | Binary | Hex |
|---|---|---|
| 0–9 | 0000–1001 | 0–9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
After 9 comes A! Remember: A B C D E F = 10 11 12 13 14 15. "Awesome Bits Create Digits Exceeding Fifteen"
2023 paper: Convert C9₁₆ to decimal. C=12, 9=9. (12×16) + (9×1) = 192+9 = 201. Hex colour: #0A33F0 = Red=0A=10, Green=33=51, Blue=F0=240.
| A | B | Sum | Carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 (carry!) |
1+1 in binary = "10" (one zero), just like in decimal when 9+1=10 — you carry 1 into the next column!
Overflow occurs when the result of a binary addition is too large to store in the available number of bits — a carry out of the highest bit position is generated.
Overflow is like trying to fit 10 eggs into a box that only holds 8 — two eggs fall out (the extra bits are lost)!
If adding two 8-bit numbers produces a 9th bit (carry out of bit 7), that's an overflow error. Most CPUs use 64-bit word size today to avoid this for typical numbers.
| Feature | ASCII | Unicode (UTF-8/UTF-16) |
|---|---|---|
| Bits used | 7-bit (128 chars) or 8-bit (256 chars) | Variable: 8–32 bits per character |
| Characters | Only English/Latin alphabet | 140,000+ chars from all world scripts |
| Languages | English only | All languages including Chinese, Arabic, emoji! |
| Memory | Very compact | Uses more memory but globally compatible |
| Compatibility | First 128 chars of Unicode are the same | Backwards compatible with ASCII |
ASCII is like a small local library — great for English books, but doesn't have books in Japanese, Arabic, or emoji. Unicode is like the world's biggest library — every book in every language!
ASCII = American Standard → only American/English characters. Unicode = Universal code → every language on Earth!
2025 paper: Compare ASCII vs Unicode for memory and compatibility. Key points: ASCII uses less memory (7/8 bits vs up to 32), but Unicode supports all world languages and is globally compatible. First 128 characters are the same in both.
A logic gate is an electronic device that takes binary inputs and produces a binary output based on a logical rule. They are the building blocks of all digital circuits.
Logic gates are like smart light switches — they only turn on (output 1) when specific combinations of inputs are correct.
| A | B | A AND B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
AND = "Both must be true"
| A | B | A OR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
OR = "Either will do"
| A | NOT A |
|---|---|
| 0 | 1 |
| 1 | 0 |
NOT = "Opposite" always
| A | B | A NAND B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NAND = NOT-AND = flip AND's output
| A | B | A NOR B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
NOR = NOT-OR = flip OR's output
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
XOR = "EXclusive OR" = different inputs only
You must be able to: (1) Complete a truth table for a logic expression. (2) Draw a logic circuit from a Boolean expression. (3) Explain what a Full Adder does. Always work inside-out for complex expressions: evaluate brackets first!
Full Adder — a circuit that adds three 1-bit inputs (A, B, Carry-in) to produce a Sum and Carry-out. Built using XOR, AND, and OR gates. Multiple full adders chained together can add multi-bit numbers.
| Component | What it does | Analogy |
|---|---|---|
| Transistor | Acts as a switch (0 or 1) or amplifier. Billions in a CPU. | A light switch: ON or OFF |
| Resistor | Limits and controls current flow | A speed bump — slows electricity down |
| Capacitor | Stores electrical charge temporarily; smooths power supply | A tiny rechargeable battery |
An Operating System (OS) manages hardware resources and provides services for programs. Examples: Windows, macOS, Linux, Android, iOS.
| Function | What it does |
|---|---|
| Resource Management | Allocates CPU time, RAM, I/O devices, and network bandwidth between competing processes |
| File Management | Organises files into directories, controls permissions, handles storage and retrieval |
| User Interface | Provides GUI or CLI for users to interact with the computer |
| Security | Controls access, manages login, runs firewall |
Virtual Memory — when RAM is full, the OS moves inactive data to a reserved area of secondary storage (page file/swap space). Allows more programs to run than physical RAM alone. Much slower than real RAM.
Virtual memory is like using a USB stick as extra desk space when your real desk is full — it works, but accessing it is much slower than the desk itself!
2023 paper asked you to define virtual memory and give pros/cons of cloud working. Virtual memory = OS uses secondary storage as extra RAM when RAM is full.
Click a card to reveal the answer. Use the filters to focus on one chapter.
Loading...
Tap to reveal answer ↻
Test your knowledge across all three chapters. Answer each question, then move on!